In embedded integrated circuit applications such as automotive applications, embedded devices include display controllers for infotainment and instrument cluster displays. In order to enable dynamic content creation with minimal CPU (central processing unit) intervention, it is known for such embedded display controllers to read (fetch) image data for individual graphics layers to be displayed directly from memory and blend the image data on-the-fly.
Graphical images displayed by automotive infotainment and instrument cluster displays are typically made up of a plurality of graphics objects/layers that are combined (blended) together to generate a composite image that is displayed to an end user. Accordingly, the embedded display controllers mentioned above fetch pixel data for multiple graphics layers, blend the pixel data for the multiple graphics layers to generate pixel data for the composite image to be displayed, and output the generated composite pixel data to a display device; all on-the-fly, one pixel at a time.
Such embedded display controllers are typically implemented within hardware, and include a memory interface component comprising a plurality of data channels, each data channel arranged to receive pixel data relating to one graphics layer and store the received pixel data within a respective input (First-In-First-Out) buffer. The display controller may then perform functions such as format conversion, blending, gamma correction, etc. on-the-fly to generate composite pixel data to be output to a display device.
A problem encountered by such display controllers is that the number of layers they are capable of handling is limited by, for example, the number of channels available within the interface component, and the number of graphics layers overlapping within a single pixel may exceed the number of layers that the display controller is capable of handling.
Conventionally, the overflow layers beyond the capability of the display controller are ignored by the display controller, with the respective pixel data being left out of the composite pixel data that is displayed. In optimized display systems, the graphics layers are dynamically assigned to ensure the highest priority graphics layers are blended within the composite pixel data. However, any overflow layers will not be included within the composite pixel data, and their information will be ‘lost’ from the displayed image.